HW 28 - DRÉGÉ~ÉÖÉåÅ[É^ÇÃÉLÉÉÉbÉVÉÖ

Åi8-Apr-96Åj

Q: êVǵǢÉ_ÉCÉiÉ~ÉbÉNÅEÉäÉRÉìÉpÉCÉäÉìÉOÅEÉGÉ~ÉÖÉåÅ[É^ÅiDynamic Recompiling emulatorÅADRÉGÉ~ÉÖÉåÅ[É^ÅjÇìãç⁄ǵÇΩMacintoshÇ≈ÇÕÅAéÑÇΩÇøÇÃ68KÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÉNÉâÉbÉVÉÖǵNjÇ∑ÅBFlushCodeCache()ÇΔFlushDataCache()ÇÉRÅ[ÉãÇ∑ÇÈÇΔÅAÉNÉâÉbÉVÉÖÇÕé˚Ç‹ÇËÇ‹Ç∑ÅBDZÇÍÇÕÅADRÉGÉ~ÉÖÉåÅ[É^ÇÃÉoÉOÇ≈Ç∑Ç©ÅH

A: ñ{åèÇÕÅADRÉGÉ~ÉÖÉåÅ[É^ÇÃÉoÉOÇ≈ÇÕdžÇËÇ‹ÇπÇÒÅBDRÉGÉ~ÉÖÉåÅ[É^ÇÕÅA68020ÅA030Ç®ÇÊÇ—040ÇÃÇÊǧDžÅAÉtÉâÉbÉVÉÖÇçsǧïKóvÇÃdžÇÈÉCÉìÉXÉgÉâÉNÉVÉáÉìÅEÉLÉÉÉbÉVÉÖÇóLǵǃǢNjÇ∑ÅB

DRÉGÉ~ÉÖÉåÅ[É^ÇÕÅAà»ëOÇÃÉGÉ~ÉÖÉåÅ[É^ÇÃÇÊǧDžÅAdžÇΩǩLJé©ï™é©êgÇ™68020ÉvÉçÉZÉbÉTÇ≈džÇÈÇ©ÇÃÇÊǧDžèÓïÒÇï‘ǵNjÇ∑Ç™ÅAâ¬ïœí∑ÇÃÉCÉìÉXÉgÉâÉNÉVÉáÉìÅEÉLÉÉÉbÉVÉÖÇóLǵǃǢNjÇ∑Åié¿ç€ÇÃÉvÉçÉZÉbÉTÇÃå≈íËí∑ÉLÉÉÉbÉVÉÖÇΔÇÕàŸÇ»ÇËÇ‹Ç∑ÅjÅBÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃíÜÇ…ÇÕÅAÉCÉìÉXÉgÉâÉNÉVÉáÉìÅEÉLÉÉÉbÉVÉÖÇÃë∂ç›Ç…ãCÇ√ǩǻǩǡÇΩÇËÅAdžÇÈÇ¢ÇÕÅAé¿ç€Ç…680x0ÉvÉçÉZÉbÉTÇÉeÉXÉgǵÇΩåãâ ÇLJÇΔÇ…ÅAdžÇÈíˆìxÇÃÉRÅ[ÉhÇé¿çsÇ∑ÇÍÇŒÉLÉÉÉbÉVÉÖÇÃÉtÉâÉbÉVÉÖÇÕé©ëRÇ…çsÇÌÇÍÇÈÇΔâºíËǵǃǢÇÈÇΩÇflÇ…ÅAÉLÉÉÉbÉVÉÖÇÃÉtÉâÉbÉVÉÖÇçsÇÌǻǢLJÇÃLJdžÇËÇ‹Ç∑ÅB

ÉNÉâÉbÉVÉÖÇâåàÇ∑ÇÈÇ…ÇÕÅAÉLÉÉÉbÉVÉÖÇÉtÉâÉbÉVÉÖÇ∑ÇÈDZÇΔÇ≈Ç∑ÅBLJǵÅAì¡íËÇÃèåèÇ≈ÉLÉÉÉbÉVÉÖÇÃÉtÉâÉbÉVÉÖÇçsǡǃǢÇΩÇËÅAdžÇÈÇ¢ÇÕÅAÉLÉÉÉbÉVÉÖÇÃàÍä—ê´ÇëπǻǧÇÊǧǻëÄçÏÇçsǡǃǢÇÈÇÃÇ≈džÇÍÇŒÅAñ≥èåèÇ…ÉLÉÉÉbÉVÉÖÇÉtÉâÉbÉVÉÖǵǃÇ≠ÇæÇ≥Ç¢ÅB

PowerPCÇìãç⁄ǵÇΩMacintoshÇ™PPCÇ®ÇÊÇ—68KÇÃÇ«ÇøÇÁÇÃÉÇÅ[ÉhÇ≈ìÆçÏǵǃǢÇÈèÍçáÇ≈LJÅAÉCÉìÉXÉgÉâÉNÉVÉáÉìÅEÉLÉÉÉbÉVÉÖÇÉtÉâÉbÉVÉÖÇ∑ÇÈç≈ëPÇÃï˚ñ@ÇÕÅAFlushCodeCacheRange()ÇÉRÅ[ÉãÇ∑ÇÈDZÇΔÇ≈Ç∑ÅBDZÇÃÉRÅ[ÉãÇÕÅAÉvÉçÉZÉbÉTdžÇÈÇ¢ÇÕDRÉGÉ~ÉÖÉåÅ[É^ÇÃÉLÉÉÉbÉVÉÖÇ©ÇÁïKóvç≈í·å¿ÇÃÉRÅ[ÉhÇéÊÇËèúÇ´ÅAé¿çsë¨ìxÇÃí·â∫Çç≈è¨å¿Ç…ǵNjÇ∑ÅBÉfÅ[É^ÉLÉÉÉbÉVÉÖÇÃÉtÉâÉbÉVÉÖÇ…ä÷ǵǃÇÕÅAFlushDataCache()ÇÉRÅ[ÉãǵǃÇ≠ÇæÇ≥Ç¢ÅBDRÉGÉ~ÉÖÉåÅ[É^ÇÕÉfÅ[É^ÉLÉÉÉbÉVÉÖÇóLǵǃǢǻǢÇÃÇ≈ÅAÉtÉâÉbÉVÉÖÇÃïKóvÇÕǻǢÇ≈ǵÇÂǧÅBFlushCodeCacheRange()ÇégópÇ∑ÇÈÇæÇØÇ≈ÉNÉâÉbÉVÉÖÇ™ãNDZÇÁÇ»Ç≠Ç»ÇÈǩǫǧǩééǵǃǛǃÇ≠ÇæÇ≥Ç¢ÅB

ǵǩǵÅALJǵÉRÅ[ÉhÇèCê≥ǵǃǢÇÈÇÃÇ≈džÇÍÇŒÅAPPCÉRÅ[ÉhíÜÇ≈ÉCÉìÉXÉgÉâÉNÉVÉáÉìÅEÉLÉÉÉbÉVÉÖÇΔÉfÅ[É^ÉLÉÉÉbÉVÉÖÇÃóºï˚ÇÉtÉâÉbÉVÉÖÇ∑ÇÈïKóvǙdžÇÈÇ≈ǵÇÂǧÅBÇΔǢǧÇÃLJÅAÉRÅ[ÉhÇÕÇΔÇ´ÇΔǵǃÉfÅ[É^ÇΔǵǃàµÇÌÇÍÇÈDZÇΔǙdžÇËÅAǪÇÍljǶDžÅAǪÇÃÉRÅ[Éhé©ëÃÇ™ÉfÅ[É^ÉLÉÉÉbÉVÉÖÇ…ä‹Ç‹ÇÍǃǢÇÈÇ©ÇÁÇ≈Ç∑ÅBǵÇΩǙǡǃÅAÉCÉìÉXÉgÉâÉNÉVÉáÉìÅEÉLÉÉÉbÉVÉÖÇæÇØÉtÉâÉbÉVÉÖÇ∑ÇÈÇÃÇÕìæçÙÇ≈ÇÕdžÇËÇ‹ÇπÇÒÅiÉCÉìÉXÉgÉâÉNÉVÉáÉìÇ™ÉfÅ[É^ÉLÉÉÉbÉVÉÖÇ…écǡǃǵNjǢNjÇ∑ÅjÅBFlushInstructionCache()ÇΔFlushCodeCache()Ç™040džÇÈÇ¢ÇÕPPCÇÃÉfÅ[É^ÉLÉÉÉbÉVÉÖLJÉtÉâÉbÉVÉÖÇ∑ÇÈÇÃÇÕÅADZÇÃóùóRÇ©ÇÁÇ≈Ç∑ÅB

DZÇÍÇÁÇÃÉRÅ[ÉãÅiÇΩÇæÇµFlushCodeCache()ÇèúÇ≠ÅjÇé¿çsÇ∑ÇÈëOÇ…ÇÕÅATrapAvailable()Ç≈_HwPriv(0xA198)Ç™égópâ¬î\ǩǫǧǩÉ`ÉFÉbÉNÇçsǧÇÊǧDžǵǃÇ≠ÇæÇ≥Ç¢ÅBFlushCodeCache()ÇÕÅA_HwPrivÉgÉâÉbÉvÇ…Ç≈ÇÕÇ»Ç≠_CacheFlushÇ…àÀë∂ǵǃǢNjÇ∑ÅB_CacheFlushÇÕÅAÉLÉÉÉbÉVÉÖÇìãç⁄ǵǃǢÇÈMacintoshÇ…ÇÕïKÇ∏é¿ëïÇ≥ÇÍǃǢNjÇ∑ÅB

_HwPrivÉgÉâÉbÉvÇ™égópâ¬î\Ç≈džÇÍÇŒÅAFlushCodeCacheRange()ÇÉRÅ[ÉãÇ∑ÇÈÇÊǧDžǵǃÇ≠ÇæÇ≥Ç¢ÅBLJǵǪÇÃÉRÅ[ÉãÇ™hwParamErrÅi-502ÅjÇï‘ǵǃǴÇΩÇËÅAdžÇÈÇ¢ÇÕ_HwPrivÇ™óòópâ¬î\Ç≈ǻǢèÍçáÇ…ÇÕÅAFlushCodeCache()ÇÉRÅ[ÉãǵǃÉLÉÉÉbÉVÉÖëSëÃÇÉtÉâÉbÉVÉÖÇ∑ÇÈïKóvǙdžÇÈÇ≈ǵÇÂǧÅB

à»â∫ÇÃéëóøÇ‡Ç≤éQèΔÇ≠ÇæÇ≥Ç¢ÅB

develop 23, "Balance of Power; Power Macintosh: The Next Generation" by Dave Evans

Technote HW06-Cache As Cache Can


[ Technical Q&A's : Hardware (for Mac OS) : HW28 ]